Mise à jour le 13/11/2021
Code écologique

Code écologique

1. Qu'est ce que le code le plus écologique ?

C'est un peu paradoxal, mais le code le plus écologique qui soit est souvent celui qui n'existe pas.

Car, s'il n'existe pas, on fait plusieurs économies :
* Economie de développement (cerveaux qui chauffent, IDE qui tourne, partages sur un gestionnaire de version (GIT, SVN etc...))
* Economie de tests automatiques (jenkins, gitlab CI, scrutinizer, tous ces trucs qui s'executent à chaque fois pour controler votre code)
* Economie de déploiement (la compression, l'envoi, le controle de sécurité, la décompression, l'installation (composer install, clear cache etc...))
* Economie d'execution (cron/appel HTTP qui provoque le lancement, l'execution en elle même (I/O, RAM, charge du processeur))
* Economie du SAV (débbogage, mises à jour (volontaire ou non)...)
* Economie de démantèlement (et ce qui s'en suit s'il s'agit d'un remplacement par quelque chose d'autre)

Toutes ses étapes de la vie du code consomment de l'énergie, en très grande partie électrique, et donc en tirant la ficelle tôt ou tard, de l'énergie fossile.

Et donc ? Et bien, avant d'écrire du code, il faudrait se demander s'il est vraiment nécessaire de le faire, et si c'est le cas, d'essayer d'en prévoir l'impact le plus faible possible.

2. Un code 'un peu' écologique

Un code peut être considéré comme écologique s'il améliore l'impact environnemental du ou des serveurs qui le ferait tourner, sans délocaliser l'exécution d'autres programmes.
Par exemple :
* du code qui supprimerait des fichiers / programmes / exécutions ;
* du code qui serait plus performant et moins gourmand en ressources.

/!\ ATTENTION : il ne faut pas que le gain apporté par ce code soit inférieur à l'impact des autres étapes nommées plus haut.
Par exemple, si un développeur doit travailler 2 mois pour optimiser un bout de code qui tourne une fois par an et qui consommerait quelques watts ; cela serait contre productif car cela induit des coûts énergétiques supérieurs aux gains.

Il faut donc se poser les bonnes questions :
- combien coûterait l'amélioration du code versus le code déjà en place ?
-> coût du temps de recherche/développement/tests/déploiement/execution
-> coût des ordinateurs qui servent à ces étapes.

3. Un code 'vraiment' écologique

Un code peut être considéré comme écologique s'il participe à un projet dont l'objectif est lui-même à portée écologique.
Exemple : calcul de l'optimisation de l'usage d'un terrain agricole, détection et alertes en cas de pollution, détermination de la forme idéal d'un moteur...
En d'autres termes, son impact doit être plus positif que négatif sur l'environnement, ce qui n'est malheureusement quasiment jamais le cas.

Le coût est directement relié à l'empreinte carbone du développement. Il faut également considérer que le salaire du salarié sera également dépensé à nouveau dans des produits ayant eux aussi un impact potentiellement négatif (il pourrait être positif si ce salarié se sent concerné par ses actes personnels vis-à-vis de l'environnement).

4. Ironie de cette page

L'impact de la rédaction de cette page a un bilan carbone surement négatif tant que son existence n'a pas éveillé les esprits et eu des conséquences écologiques positives.